In the wake of rapidly increasing demand for network, multimedia, database and other digital capacity, many multimedia-coding schemes have evolved. Recently, the Moving Picture Experts Group (MPEG) and the Video Coding Experts Group (VCEG) of International Telecommunication Union (ITU) began working together as a Joint Video Team (JVT) to develop a new video coding/decoding (codec) standard referred to as ITU Recommendation H.264 or MPEG-4-Part 10, Advanced Video Codec (AVC) or JVT codec.
The JVT codec design distinguishes between two different conceptual layers, the Video Coding Layer (VCL) and the Network Abstraction Layer (NAL). The VCL contains the coding related parts of the codec, such as motion compensation, transform coding of coefficients, and entropy coding. The output of the VCL is slices, each of which contains a series of macroblocks and associated header information. The NAL packages the VCL data for transport on a system layer. Each system layer requires a specific syntax. For example, Real-Time Transport Protocol (RTP) systems require a packet oriented syntax, MPEG-2 systems require a byte-stream syntax, and transport systems using specific file formats (e.g., MP4 file format) require that the VCL data be structured according to these file formats. Hence, the NAL must be either specific to a particular transport system or store a large volume of information to be able to package the VCL data into various formats. While the former approach allows for greater optimization, it hinders interoperability. Conversely, the latter approach affects performance and limits the NAL's operation to existing transport systems.